{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "0b93beb9-5682-4e38-a815-95c44c218e22",
   "metadata": {},
   "source": [
    "# 百度翻译API课堂作业\n",
    "\n",
    "## 背景\n",
    "百度翻译提供了一个API，允许开发者进行文本翻译。本次作业要求你使用这个API创建一个简单的翻译程序。\n",
    "\n",
    "## 任务描述\n",
    "1. 使用百度翻译API创建一个程序，允许用户输入文本，然后显示可能的翻译结果。\n",
    "\n",
    "2. API详情:\n",
    "   - 请求URL: https://fanyi.baidu.com/sug\n",
    "   - 请求方法: POST\n",
    "   - 请求参数: \n",
    "     - kw: 要翻译的文本\n",
    "     - from: 源语言 (使用 'auto' 进行自动检测)\n",
    "     - to: 目标语言 (使用 'zh' 表示中文)\n",
    "\n",
    "3. 你的程序应该完成以下任务:\n",
    "   - 提示用户输入要翻译的文本\n",
    "   - 使用正确的参数发送POST请求到API\n",
    "   - 解析返回的JSON数据\n",
    "   - 以易读的格式在控制台显示所有可能的翻译结果\n",
    "\n",
    "4. 处理可能出现的错误，例如:\n",
    "   - API请求失败\n",
    "   - 返回的数据格式不正确\n",
    "   - 没有找到翻译结果\n",
    "\n",
    "## 输出示例\n",
    "```\n",
    "请输入要翻译的文本: hello\n",
    "\n",
    "翻译结果:\n",
    "1. 你好\n",
    "2. 喂\n",
    "3. 哈罗\n",
    "\n",
    "请输入要翻译的文本: \n",
    "```\n",
    "\n",
    "## 提示\n",
    "- 使用Python的`requests`库来发送HTTP请求。\n",
    "- 使用`json`库来解析返回的JSON数据。\n",
    "- 仔细检查API返回的数据结构，确保正确提取翻译结果。\n",
    "- 考虑使用异常处理来应对可能的错误情况。\n",
    "- 使用循环来允许用户连续输入多个翻译请求，直到用户选择退出程序。\n",
    "\n",
    "## 扩展任务 (选做)\n",
    "如果你完成了基本任务，可以尝试以下扩展:\n",
    "1. 允许用户选择目标语言（不只限于中文）。\n",
    "2. 将翻译历史保存到文本文件中，允许用户查看过去的翻译记录。\n",
    "3. 实现双向翻译功能（例如，既可以从英文翻译到中文，也可以从中文翻译到英文）。\n",
    "4. 添加一个简单的菜单系统，允许用户选择不同的操作（如翻译、查看历史、切换语言等）。\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "37de9589-a0ad-43f6-91a0-e14a926d4786",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.12.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
